<?PHP
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// NOTICE OF COPYRIGHT                                                    //
//                                                                        //
// Dean`s Office for Moodle                                               //
// Электронный деканат                                                    //
// <http://deansoffice.ru/>                                               //
//                                                                        //
// Copyright (C) 2008-2999  Alex Djachenko (Алексей Дьяченко)             //
// alex-pub@my-site.ru                                                    //
// Copyright (C) 2008-2999  Evgenij Cigancov (Евгений Цыганцов)           //
//                                                                        //
// This program is free software: you can redistribute it and/or modify   //
// it under the terms of the GNU General Public License as published by   //
// the Free Software Foundation, either version 3 of the Licensen.        //
//                                                                        //
// This program is distributed in the hope that it will be useful,        //
// but WITHOUT ANY WARRANTY; without even the implied warranty of         //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          //
// GNU General Public License for more details.                           //
//                                                                        //
// You should have received a copy of the GNU General Public License      //
// along with this program.  If not, see <http://www.gnu.org/licenses/>.  //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

// Подключаем библиотеки
require_once('lib.php');
require_once('form.php');

//вывод на экран
//печать шапки страницы
$DOF->modlib('nvg')->print_header(NVG_MODE_PORTAL);

//проверяем полномочия на просмотр информации
$DOF->storage('reports')->require_access('view_report');

// данные для создания фильтра отчетов
$customdata = new object();
$customdata->dof  = $DOF;
$customdata->departmentid = $addvars['departmentid'];

// создаем форму с фильтром отчетов 
$filter = new dof_im_report_search_form($DOF->url_im('reports','/index.php',
                    $addvars), $customdata);
$filter->display();

// ловим номер страницы, если его передали
// какое количество строк таблицы выводить на экран
$limitnum = $DOF->modlib('widgets')->get_limitnum_bydefault();
$limitnum     = optional_param('limitnum', $limitnum, PARAM_INT);
// начиная с какого номера записи показывать ее
$limitfrom    = optional_param('limitfrom', '1', PARAM_INT);
$sort = optional_param('sort','', PARAM_ALPHA);

// условие выбора записей
$conds = array('departmentid' => optional_param('deplist', 0, PARAM_INT));

$dispay = new dof_im_reports_display($DOF,$customdata->departmentid,array());

$pages = $DOF->modlib('widgets')->pages_navigation('reports',null,$limitnum, $limitfrom);
$list = $DOF->storage('reports')->get_listing($conds,$pages->get_current_limitfrom()-1,
        $pages->get_current_limitnum(),$sort);

// получаем html-код таблицы с группами
$reports = $dispay->get_table_list($list);

if ( ! $reports )
{// не найдено ни одной группы
    print('<p align="center">(<i>'.$DOF->
            get_string('no_agroups_found', 'agroups').'</i>)</p>');
}else
{//есть группы
    // выводим таблицу с учебными группами
    echo '<br>'.$reports;
    
    // помещаем в массив все параметры страницы,
    //чтобы навигация по списку проходила корректно
    $vars = array('limitnum'  => $pages->get_current_limitnum(),
            'limitfrom' => $pages->get_current_limitfrom(),
            'sort'      => $sort,);
    
    // добавляем все необходимые условия фильтрации
    $vars = array_merge($vars, array());
    // составим запрос для извлечения количества записей
    $selectlisting = $DOF->storage('reports')->get_select_listing(array());
    // посчитаем общее количество записей, которые нужно извлечь
    $pages->count = $DOF->storage('reports')->count_records_select($selectlisting);
    // выводим строку со списком страниц
    $pagesstring = $pages->get_navpages_list('/list.php', $vars);
    if ( $pagesstring )
    {// если выводим строку со списком страниц, то выводим и надпись "страницы"
        print '<p align="center"><b>'.$DOF->get_string('pages', 'agroups').':</b><br>'.
                $pagesstring.'</p>';
    }
}

//проверяем полномочия на просмотр информации
$DOF->storage('reports')->require_access('view_report');

// подключаем класс dof_html_writer
$DOF->modlib('widgets')->html_writer();

echo dof_html_writer::link($DOF->url_im('reports', '/list.php', array(
        'plugintype' => 'im', 
        'plugincode' => 'journal', 
        'code' => 'loadteachers')), 
            $DOF->get_string('im_journal_loadteachers', 'reports'))."<br/>";

echo dof_html_writer::link($DOF->url_im('reports', '/list.php', array(
        'plugintype' => 'im', 
        'plugincode' => 'journal', 
        'code' => 'replacedevents')), 
            $DOF->get_string('im_journal_replacedevents', 'reports'))."<br/>";

echo dof_html_writer::link($DOF->url_im('reports', '/list.php', array(
        'plugintype' => 'sync', 
        'plugincode' => 'mreports', 
        'code' => 'teachershort')), 
            $DOF->get_string('sync_mreports_teachershort', 'reports'))."<br/>";

echo dof_html_writer::link($DOF->url_im('reports', '/list.php', array(
        'plugintype' => 'sync', 
        'plugincode' => 'mreports', 
        'code' => 'teacherfull')), 
            $DOF->get_string('sync_mreports_teacherfull', 'reports'))."<br/>";

echo dof_html_writer::link($DOF->url_im('reports', '/list.php', array(
        'plugintype' => 'sync', 
        'plugincode' => 'mreports', 
        'code' => 'studentshort')), 
            $DOF->get_string('sync_mreports_studentshort', 'reports'))."<br/>";

echo dof_html_writer::link($DOF->url_im('reports', '/list.php', array(
        'plugintype' => 'sync', 
        'plugincode' => 'mreports', 
        'code' => 'studentfull')), 
            $DOF->get_string('sync_mreports_studentfull', 'reports'))."<br/>";

//печать подвала
$DOF->modlib('nvg')->print_footer(NVG_MODE_PORTAL);
?>